// server/app/extend/helper.ts
import * as XLSX from 'xlsx'; // 使用 xlsx包

/**
 * 获取导入的XLSX文件中的数据
 * @param {object} file 请求中的文件对象，如：ctx.request.files[0]
 * @param {string} headerKeyMap 表头-key转换对象，如 { 姓名: 'name', 邮箱 :'email' }
 * @param {string} rwoTransform 行数据转换函数，比如：将字符串 'a,b,c' 转为 ['a', 'b', 'c'];
 */
export const getImportXLSXData=(filepath: any, headerKeyMap: object)=> {
//   const { filepath } = file;
  const workbook = XLSX.readFile(filepath);

  // 读取内容
  let exceldata: any[] = [];
  workbook.SheetNames.forEach(sheet => {
    if (workbook.Sheets.hasOwnProperty(sheet)) {
      const data = XLSX.utils.sheet_to_json(workbook.Sheets[sheet]).map((row: any) => {
        const obj: any = {};
        Object.keys(headerKeyMap).forEach(key => {
          obj[headerKeyMap[key]] = row[key];
        });
        return obj;
      });
      exceldata = [...exceldata, ...data];
    }
  });
  return exceldata;
}